package org.springblade.tms.module.sap.dto;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author: wzq
 * @className: SapTransportOrderDTO
 * @createDate: 2022/3/8
 * @description: 运输执行单，交互DTO
 */
@Data
@Builder
public class SapTransportOrderDTO {
	/**
	 * 需求单id
	 */
	private Long demandId;
	/**
	 * 处理类型
	 */
	private String type;
	/**
	 * 运输单号
	 */
	private String transportNo;

	/**
	 * 货运订单号
	 */
	private String orderNo;
	/**
	 * 货运订单类型
	 */
	private String orderType;
	/**
	 * 源交货单
	 */
	private String deliverNo;
	/**
	 * 司机姓名
	 */
	private String driverName;
	/**
	 * 司机联系方式
	 */
	private String driverPhone;
	/**
	 * 驾驶证号
	 */
	private String certificateDriverNo;
	/**
	 * 押运员姓名
	 */
	private String supercargoName;
	/**
	 * 押运员联系方式
	 */
	private String supercargoPhone;
	/**
	 * 押运员身份证号
	 */
	private String idCardNo;
	/**
	 * 车牌号
	 */
	private String carNo;

	/**
	 * 挂车号
	 */
	private String bindCarNo;

	/**
	 * 罐箱号

	 */
	private String containerNo;

	/**
	 * 原位置
	 */
	private String startLocationNo;

	/**
	 * 源位置名称
	 */
	private String startLocationName;
	/**
	 * 源位置区域（省份）
	 */
	private String startLocationArea;
	/**
	 * 源位置城市
	 */
	private String startLocationCity;
	/**
	 * 源位置街道
	 */
	private String startLocationStreet;
	/**
	 * 目标位置
	 */
	private String targetLocationNo;

	/**
	 * 目标位置名称
	 */
	private String targetLocationName;
	/**
	 * 目标位置区域（省份）
	 */
	private String targetLocationArea;
	/**
	 * 目标位置城市
	 */
	private String targetLocationCity;
	/**
	 * 目标位置街道
	 */
	private String targetLocationStreet;

	/**
	 * 计划提货日期
	 */
	@JSONField(name = "plan_get_goods_date_start", format = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime planGetGoodsDateStart;

	/**
	 * 计划提货日期
	 */
	@JSONField(name = "plan_get_goods_date_end", format = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime planGetGoodsDateEnd;
	/**
	 * 铅封号
	 */
	private String leadSealNumber;
	/**
	 * 行项目
	 */
	private List<SapTransportOrderItemDTO> item;


	//下面为需求单 海运字段
	/**
	 * 装货日期
	 */
	private LocalDateTime loadDate;
	/**
	 * 开船日期
	 */
	@JSONField(name = "departure_date",format = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime departureDate;
	/**
	 * 箱量
	 */
	private String boxCapacity;
	/**
	 * 起运港
	 */
	private String sendLocation;
	/**
	 * 目的港
	 */
	private String targetLocation;

	//下面为需求单 铁运字段
	/**
	 * 实际装货日期
	 */
	@JSONField(name = "really_load_data",format = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime reallyLoadData;
	/**
	 * 车皮号
	 */
	private String trainShell;
	/**
	 * 发站
	 */
	private String trainSendLocation;
	/**
	 * 到站
	 */
	private String trainTargetLocation;
	/**
	 * 铁路批车数
	 */
	private String trainBatchNum;
	/**
	 * 提单号
	 */
	private String tdh;

	/**
	 * 船舶
	 */
	private String boat;



}
